home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EuroCD 3
/
EuroCD 3.iso
/
MIDI
/
Euterpe_Installation
/
Euterpe
/
Developer
/
xappmsg.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-24
|
2KB
|
89 lines
// xappmsg.h
// Author : Dominique Lorre
// $Id: xappmsg.h 1.1 1997/09/17 08:09:28 dlorre Exp dlorre $
#if !defined( CLASS_XAPPMSG_H )
#define CLASS_XAPPMSG_H
#if !defined( EXEC_TYPES_H )
#include <exec/types.h>
#endif
#if !defined( EXEC_PORTS_H )
#include <exec/ports.h>
#endif
#if !defined( UTILITY_HOOKS_H )
#include <utility/hooks.h>
#endif
#if !defined( UTILITY_TAGITEM_H )
#include <utility/tagitem.h>
#endif
#define XAPPNAMELENGTH 40
#define XAPPPORTNAME "Euterpe.xapp"
#define XAPP_TagBase (TAG_USER+100)
#define XAPP_Name (XAPP_TagBase+1)
#define XAPP_PortName (XAPP_TagBase+2)
#define XAPP_Type (XAPP_TagBase+3)
#define XAPP_Handle (XAPP_TagBase+4)
#define FX_TagBase (TAG_USER+200)
#define FX_Hook (FX_TagBase+1)
#define BANK_TagBase (TAG_USER+300)
#define BANK_MidiBuffer (BANK_TagBase+1)
#define BANK_MidiLength (BANK_TagBase+2)
enum XAppAction {
XAPPACT_ADD, // Add the xapp
XAPPACT_INIT, // The xapp has successfully initialized it's Port
XAPPACT_FAILURE, // The xapp has failed somewhere in it's initialization
XAPPACT_REMOVE, // Remove the xapp
XAPPACT_SHOW, // Show the xapp window
XAPPACT_HIDE, // Hide the xapp window
XAPPACT_SENDMIDI, // Send midi to an output
XAPPACT_RECVMIDI // Receive midi from an input
};
enum XAppType {
XAPPTYP_UNKWNOWN, // Default value if not set by the xapp
XAPPTYP_BANKEDITOR, // Independent application using Euterpe's IO
XAPPTYP_EFFECTSPROCESSOR // Effect controlled by Euterpe
};
struct XAppMsg {
struct Message xm_Message ;
enum XAppAction xm_Action ;
struct TagItem* xm_Tags ;
APTR xm_Result ;
} ;
struct FXNode
{
struct MinNode x_Node ;
union {
UBYTE x_Data[4] ;
ULONG x_Msg ;
};
LONG x_Pos ; // Position in Sequencer
LONG x_Len ; // Length of a NoteOn
};
#define FXNODEB_INUSE 0
#define FXNODEB_ALLOC 1
#define FXNODEF_INUSE (1 << FXNODEB_INUSE)
#define FXNODEF_ALLOC (1 << FXNODEB_ALLOC)
struct FXParams
{
struct FXNode *fp_Array ;
struct MinList *fp_List ;
LONG fp_Size ;
LONG fp_Pos ;
};
#endif